home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / pcboard / no104mes.zip / NO104ENG.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-04-10  |  3KB  |  230 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     String   STRING001
  20.     String   STRING002
  21.     String   STRING003
  22.     String   TSTRING004(10)
  23.     String   STRING005
  24.     String   STRING006
  25.     Int      INT001
  26.     Int      INT002
  27.     Int      INT003
  28.     Int      INT004
  29.     Int      INT005
  30.  
  31. ;------------------------------------------------------------------------------
  32.  
  33.     STRING006 = TokenStr()
  34.     INT003 = 1
  35.     :LABEL001
  36.     STRING002 = ""
  37.     STRING003 = ""
  38.     If (Len(STRING006) < 1) Then
  39.         Goto LABEL002
  40.     Endif
  41.     For INT004 = 1 To Len(STRING006)
  42.         If (Mid(STRING006, INT004, 2) == "L:") Then
  43.             STRING002 = Mid(STRING006, INT004 + 2, 2)
  44.             STRING003 = STRING002
  45.         Endif
  46.     Next
  47.     If (STRING003 == "") Then
  48.         STRING002 = 1
  49.         STRING003 = MaxNode()
  50.     Endif
  51.     For INT004 = 1 To Len(STRING006)
  52.         If (Mid(STRING006, INT004, 1) == "'") Then
  53.             TSTRING004(1) = PcbNode()
  54.             TSTRING004(1) = "From line " + TSTRING004(1) + ": " + Mid(STRING006, INT004 + 1, Len(STRING006) - 1)
  55.             Goto LABEL006
  56.         Endif
  57.     Next
  58.     :LABEL002
  59.     STRING005 = ""
  60.     PrintLn "@X0E* @X07= To everyone, @X0E? @X07= Who's online"
  61.     Print "@X0FLine number, please: @X07"
  62.     :LABEL003
  63.     STRING001 = ""
  64.     STRING001 = Inkey()
  65.     If (STRING001 == "") Then
  66.         Goto LABEL003
  67.     Endif
  68.     If ((STRING001 == Chr(13)) && (STRING005 == "")) Then
  69.         End
  70.     Endif
  71.     If (STRING001 == "?") Then
  72.         Goto LABEL009
  73.     Endif
  74.     Select Case (STRING001)
  75.         Case "*"
  76.             STRING002 = 1
  77.             STRING003 = MaxNode()
  78.             PrintLn STRING001
  79.             If ((STRING001 >= "0") && (STRING001 <= "9")) Then
  80.                 Print STRING001
  81.                 STRING005 = STRING005 + STRING001
  82.                 STRING002 = STRING005
  83.                 STRING003 = STRING005
  84.                 Goto LABEL003
  85.             Endif
  86.         Case Chr(13)
  87.             PrintLn 
  88.         Case Else
  89.             Goto LABEL003
  90.     End Select
  91.     :LABEL004
  92.     TSTRING004(INT003) = PcbNode()
  93.     TSTRING004(INT003) = "From line " + TSTRING004(INT003) + ": "
  94.     INT005 = 0
  95.     INT002 = 0
  96.     Print "Message: "
  97.     :LABEL005
  98.     STRING001 = ""
  99.     STRING001 = Inkey()
  100.     If (STRING001 == "") Then
  101.         Goto LABEL005
  102.     Endif
  103.     If ((STRING001 == Chr(13)) && (INT005 == 0)) Then
  104.         Goto LABEL006
  105.     Endif
  106.     If (STRING001 == Chr(13)) Then
  107.         INT002 = 0
  108.         INT003 = INT003 + 1
  109.         PrintLn 
  110.     Else
  111.         TSTRING004(INT003) = TSTRING004(INT003) + STRING001
  112.         Print STRING001
  113.         STRING001 = ""
  114.         INT002 = INT002 + 1
  115.         INT005 = 1
  116.         If (INT002 > 60) Then
  117.             INT003 = INT003 + 1
  118.             INT002 = 0
  119.             PrintLn 
  120.         Endif
  121.     Endif
  122.     If (INT003 > 10) Then
  123.         Goto LABEL006
  124.     Endif
  125.     If (INT002 == 0) Then
  126.         Goto LABEL004
  127.     Endif
  128.     Goto LABEL005
  129.     :LABEL006
  130.     PrintLn 
  131.     Print "@X0FSend this? @X07(@X0EY@X07)@X07"
  132.     :LABEL007
  133.     STRING001 = Inkey()
  134.     If (STRING001 == "") Then
  135.         Goto LABEL007
  136.     Endif
  137.     If (((STRING001 == "y") || (STRING001 == "Y")) || (STRING001 == Chr(13))) Then
  138.         Goto LABEL008
  139.     Endif
  140.     If ((STRING001 == "n") || (STRING001 == "N")) Then
  141.         End
  142.     Endif
  143.     Goto LABEL007
  144.     :LABEL008
  145.     PrintLn 
  146.     INT001 = 0
  147.     For INT001 = STRING002 To STRING003
  148.         If (INT001 == PcbNode()) Then
  149.             Continue
  150.         Endif
  151.         For INT004 = 1 To INT003
  152.             Broadcast INT001, INT001, TSTRING004(INT004)
  153.         Next
  154.     Next
  155.     PrintLn "@X0FMessage sent@X07"
  156.     End
  157.     :LABEL009
  158.     Newline
  159.     Newline
  160.     PrintLn "Line      Name and location"
  161.     PrintLn "@X04-------------------------------------------------------------------------------@X07"
  162.     For INT001 = 1 To MaxNode()
  163.         RdUNet INT001
  164.         If (INT001 == PcbNode()) Then
  165.             PrintLn "", INT001, "         ", UN_Name(), "             ", UN_City(), "@X07"
  166.             Continue
  167.         Endif
  168.         PrintLn "@X05", INT001, "         ", UN_Name(), "             ", UN_City(), "@X07"
  169.     Next
  170.     Newline
  171.     Wait
  172.     Goto LABEL001
  173.  
  174. ;------------------------------------------------------------------------------
  175. ;
  176. ; Usage report (before postprocessing)
  177. ;
  178. ; ■ Statements used :
  179. ;
  180. ;    3       End
  181. ;    1       Wait
  182. ;    51      Goto 
  183. ;    44      Let 
  184. ;    5       Print 
  185. ;    12      PrintLn 
  186. ;    26      If 
  187. ;    3       Newline
  188. ;    1       Broadcast 
  189. ;    1       RdUNet 
  190. ;
  191. ;
  192. ; ■ Functions used :
  193. ;
  194. ;    17      +
  195. ;    1       -
  196. ;    22      ==
  197. ;    6       <
  198. ;    6       <=
  199. ;    2       >
  200. ;    11      >=
  201. ;    26      !
  202. ;    13      &&
  203. ;    8       ||
  204. ;    6       Len(
  205. ;    4       Mid()
  206. ;    5       Chr()
  207. ;    3       Inkey()
  208. ;    4       PcbNode()
  209. ;    2       UN_Name()
  210. ;    2       UN_City()
  211. ;    1       TokenStr()
  212. ;    4       MaxNode()
  213. ;
  214. ;------------------------------------------------------------------------------
  215. ;
  216. ; Analysis flags : No flag
  217. ;
  218. ;------------------------------------------------------------------------------
  219. ;
  220. ; Postprocessing report
  221. ;
  222. ;    5       For/Next
  223. ;    0       While/EndWhile
  224. ;    19      If/Then or If/Then/Else
  225. ;    1       Select Case
  226. ;
  227. ;------------------------------------------------------------------------------
  228. ;                 AEGiS Corp - Break the routines, code against the machines!
  229. ;------------------------------------------------------------------------------
  230.